package com.weilai.controller.exceptionHandler;

/**
 * 全局异常错误码定义（按模块分类）
 */
public class Code {

    //------------------------ 系统级错误（50xxx）------------------------
    /**
     * 系统未知错误（如未明确捕获的异常）
     */
    public static final Integer SYSTEM_UNKNOWN_ERROR = 50001;
    /**
     * 系统超时错误（如接口响应超时）
     */
    public static final Integer SYSTEM_TIMEOUT_ERROR = 50002;
    /**
     * 数据库错误（如连接失败、SQL异常）
     */
    public static final Integer SYSTEM_DB_ERROR = 50011;

    public static final Integer SYSTEM_IO_ERROR = 50021; // 文件IO错误
    public static final Integer SYSTEM_CACHE_ERROR = 50031; // 缓存错误

    //------------------------ 业务级错误（60xxx）------------------------
    /**
     * 参数校验失败（如@Valid校验不通过）
     */
    public static final Integer PROJECT_VALIDATE_ERROR = 60001;
    /**
     * 业务逻辑异常（如用户余额不足）
     */
    public static final Integer PROJECT_BUSINESS_ERROR = 60002;
    /**
     * 数据重复（如唯一键冲突）
     */
    public static final Integer PROJECT_DATA_DUPLICATE = 60011;
    /**
     * 数据状态冲突（如订单已支付无法取消）
     */
    public static final Integer PROJECT_STATE_CONFLICT = 60021;
    /**
     * 用户权限不足（如非管理员操作）
     */
    public static final Integer PROJECT_ACCESS_DENIED = 60031;
    /**
     * 数据不存在（如查询ID不存在）
     */
    public static final Integer PROJECT_DATA_NOT_FOUND = 60041;
    public static final Integer PROJECT_OPERATION_CONFLICT = 60022; // 操作冲突
    public static final Integer PROJECT_RESOURCE_LIMIT = 60032; // 资源限制

}